The present invention relates to computer controlled bar code scanners and a method of programming the scanner and, more particularly, to such a scanner and method in which control data is supplied to a non-volatile memory in the scanner. The control data comprises character sets, which if read on two labels, indicate that the labels are affixed to the same product and further indicate the ordering of the labels. Any of a plurality of such character sets on the labels provide such an indication of a two label condition.
Laser scanners are known in which a beam of laser light is swept in a scan pattern to find and read a bar code printed on a surface which is presented to the scanner, such as for example a package label. Bar code labels are used on a broad range of retail packages for check-out and inventory purposes. A scanner, located for example at the check-out station in a retail establishment is used by a clerk automatically to enter product identification data into an associated computer system.
Typically such a scanner includes a laser source, such as a gas discharge laser, which produces a low power laser beam. The beam then passes through appropriate optical lenses and is swept across the package surface by a motor-driven, rotating mirror assembly. A portion of the light reflected from the package surface returns through the optical lenses to a detector which provides an electrical signal in dependence upon the level of the reflected light. A signal processing system in the scanner then analyses the electrical signal and translates the scanned characters into data which is transmitted to the host computer.
The computer then determines the total price of the products being purchased, as well as storing the identity of the purchased products for inventory and accounting purposes. The host computer may be located in the cash register associated with the scanner. Alternatively, a single host computer may service a number of scanners at the retail establishment.
A number of different bar codes have come into use. In some of these, it is possible for two labels to be applied to the same product with all of the information defined by the labels relating to the product. It is important for the scanner system to be able to distinguish those pairs of scanned labels which are affixed to the same product and, also, which of the labels in each such pair is the "first" label and which of the labels is the "second" label. In EAN 13 code, for example, the first two characters on each label are predetermined characters if the label is the first or second of a label pair affixed to the same product.
Each scanner typically includes a microprocessor which performs a number of functions, including recognizing the electrical signals produced when a label is scanned. Previously the valid character set for indicating "first" and "second" labels where the labels are affixed to the same product have been stored in the random access memory of the microprocessor, or have been manually set by means of mechanical switches.
Both approaches are disadvantageous. Either the character set cannot be easily changed, or the character set is not maintained in memory when the scanner is turned off and must be reloaded upon resumption of operation. A need exists, therefore, for a scanner in which the character set can be easily altered and in which the scanner does not require reloading of the character set into memory each time power is applied to the scanner.